// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import * as vscode from "vscode";
import { UseModelDefinitionProvider } from "./model/useMode/useModelDefinitionProvider";
import { UseModelHoverProvider } from "./model/useMode/useModelHoverProvider";
import { ComponentCustomHoverProvider } from "./model/componentCustom/componentCustomHoverProvider";

import { RouterlHoverProvider } from "./model/router/routerlHoverProvider";

// This method is called when your extension is activated
// Your extension is activated the very first time the command is executed
export function activate(context: vscode.ExtensionContext) {
  context.subscriptions.push(
    vscode.languages.registerDefinitionProvider(
      ["javascript", "typescript", "typescriptreact"],
      new UseModelDefinitionProvider()
    )
  );
  context.subscriptions.push(
    vscode.languages.registerHoverProvider(
      ["javascript", "typescript", "typescriptreact"],
      new UseModelHoverProvider()
    )
  );

  context.subscriptions.push(
    vscode.languages.registerHoverProvider(
      ["javascript", "typescript", "typescriptreact"],
      new ComponentCustomHoverProvider()
    )
  );

  context.subscriptions.push(
    vscode.languages.registerHoverProvider(
      ["javascript", "typescript", "typescriptreact"],
      new RouterlHoverProvider()
    )
  );
  // vscode.window.showInformationMessage("vh-tips-tool successfully activated");
}

// This method is called when your extension is deactivated
export function deactivate() {}
